Aprendizado de Máquina I

Hugo Tremonte de Carvalho

hugo@dme.ufrj.br


01 - Introdução

Sobre o curso

Bibliografia

  • [ITSL] Gareth James, Daniela Witten, Trevor Hastie, Rob Tibshirani & Jonathan Taylor - An Introduction to Statistical Learning, with Applications in Python
  • [AME] Rafael Izbicki & Tiago Mendonça dos Santos - Aprendizado de Máquina: Uma Abordagem Estatística
  • Eventuais referências adicionais (artigos, livros, etc.)

Conteúdo programático

  • Capítulos 1 até 9, e 12 (aproximadamente) de [ITSL]
    • Mais ou menos equivalente aos Capítulos 1, 2, 3, 7, 8, 9, 10 e 11 (aproximadamente) de [AME]

Sistema de avaliação

  • 3 projetos
    • Questões teóricas e dissertativas
    • Resolução de problemas práticos
  • Postagem e data de entrega no cronograma
    • O cronograma da disciplina encontra-se no Google Classroom

O que é machine learning/aprendizado estatístico/aprendizado de máquina?

Retirado de https://xkcd.com/1838/

Retirado de https://xkcd.com/2494/

  • Estatística
    • “Disciplina que trata da coleta, organização, análise, interpretação e apresentação de dados”. [Fonte: Wikipedia]
  • Aprendizado estatístico/Machine Learning
    • Conjunto de ferramentas e modelos para entender dados, com especial atenção a aspectos de eficiência computacional. [Fonte: Wikipedia + vozes da minha cabeça]

Porque tal distinção é necessária?

  • Nascimento da Estatística na cultura européia
    • Mínimos quadrados, Gauss e Legendre ≈ 1800, prever órbitas ao redor do Sol
    • Equivalente ao EMV para regressão, assumindo erro normalmente distribuído
  • Avanços nos sistemas de captura, armazenamento e processamento de dados permitem analisar grandes bases de dados

Porque tal distinção é necessária?

http://millionsongdataset.com/ - base de dados com 280 Gb.

Porque tal distinção é necessária?

  • Métodos tradicionais de Estatística não são mais capazes de lidar com esse volume de dados
  • Dados complexos: um bom entendimento sobre a aplicação não é somente importante mas crucial, em particular, para a elaboração de novas metodologias
  • Em particular, metodologias e algoritmos podem ser fortemente dependentes da aplicação

Mudança de paradigma

  • Estatística do Séc. XX:
    • Resultados assintóticos
    • \(n \gg p\), onde \(n\) é o número de observações e \(p\) é o número de covariáveis
  • Aplicações modernas:
    • \(p \gg n\) – ou seja, mais coisas para se estimar do que se observa!
    • Resultados assintóticos não se aplicam mais

Duas culturas

  • Modelagem dos dados: criação e validação de um modelo para os dados observados. Foco em inferência

  • Modelagem algorítmica: criação de bons algoritmos para prever novas instâncias observadas. Muitas vezes não lança mão de modelo probabilístico algum para os dados ◄

  • “Nem melhor nem pior, apenas diferentes!”

Duas grandes áreas

  • Aprendizado supervisionado: modelos para aprender uma relação entre uma entrada e uma saída com base em um conjunto de exemplos ◄
  • Aprendizado não-supervisionado: algoritmos que aprendem padrões/estruturas subjacentes em dados não-anotados ◄

Dois principais tipos de problemas

  • Regressão: variável de saída é quantitativa ◄
  • Classificação: variável de saída é categórica ◄

Algumas verdades

  • Aprendizado de Máquina não é a solução para todos os problemas do mundo
  • Redes neurais também não são são a solução para todos os problemas do mundo
  • Aprender a usar os pacotes do Python/R não é aprender Aprendizado de Máquina
  • Você não tem como aprender Aprendizado de Máquina sem dominar: cálculo, probabilidade, estatística e álgebra linear
  • Quem te diz o contrário está mentindo para você

Formulação matemática do problema do aprendizado estatístico supervisionado

Formulação matemática

  • \(Y \in \mathbb{R}\) variável de resposta
  • \(\mathbf{X} = (X_1, \dots, X_p) \in \mathbb{R}^p\) conjunto de \(p\) preditores para \(Y\)

Formulação matemática

  • Forma geral da relação entre \(\mathbf{X}\) e \(Y\): \[Y = r(\mathbf{X}) + \varepsilon\]
    • \(r\) função fixa porém desconhecida
    • Informação sistemática que \(\mathbf{X}\) dá sobre \(Y\)
    • \(\varepsilon\) erro de observaçao (independente de \(\mathbf{X}\) e de média zero)

Formulação matemática

  • Objetivos: Estimar \(r\) a partir de um conjunto de observações \((\mathbf{x}_i, y_i)_{i = 1, \dots, n}\), bem como aferir a qualidade de tal estimativa

  • Importante: Assumiremos observações i.i.d., ou seja, \((\mathbf{X}_1, Y_1), \dots, (\mathbf{X}_n, Y_n) \sim (\mathbf{X}, Y)\)

    • O que não significa que a distribuição conjunta entre \(\mathbf{X}\) e \(Y\) será conhecida!
    • Em um mundo ideal, temos \(r(\mathbf{x}) = \mathbb{E}[Y | \mathbf{X} = \mathbf{x}]\)
  • \(Y\) qualitativa: problema de regressão

  • \(Y\) quantitativa: problema de classificação

Um exemplo

Figura 2.2 de [ITSL]

Um exemplo

  • Renda anual em função dos anos de estudo
  • Uma estimativa da função \(r(\mathbf{x}) = \mathbb{E}[Y | \mathbf{X} = \mathbf{x}]\) relacionando ambas as quantidades.
    • Usar \(r\) para prever a renda com base no tempo de formação – previsão
    • Usar \(r\) para testar hipóteses sobre a relação entre tais variáveis – inferência

Mais sobre as duas culturas

  • Objetivo inferencial: Quais preditores são importantes? Qual a relação entre cada preditor e a variável resposta? Qual o efeito da mudança de valor de um dos preditores na variável resposta?

Mais sobre as duas culturas

  • Objetivo preditivo: Como podemos criar uma função \[g: \mathbb{R}^p \to \mathbb{R}\] que tenha bom poder preditivo? Isto é, como criar \(g\) tal que, dadas novas observações i.i.d. \[(\mathbf{X}_{n + 1}, Y_{n + 1}), \dots, (\mathbf{X}_{n + m}, Y_{n + m}) \sim (\mathbf{X}, Y)\] tenhamos \[g(\mathbf{x}_{n + 1}) \approx y_{n + 1}, \dots, g(\mathbf{x}_{n + m}) \approx y_{n + m}?\]

Mais sobre as duas culturas

  • Em um problema de regressão com objetivo inferencial, assumimos que alguma forma geral da função \(r\) é verdadeira, por exemplo \[r(\mathbf{x}) = \beta_0 + \sum_{i = 1}^{p} \beta_i x_i.\]
    • Interpretação dos parâmetros estimados \(\beta_i\)
    • Testes de hipótese e intervalos de confiança
    • \(\Rightarrow\) necessidade de se verificar hipóteses como normalidade dos erros, homocedasticidade, etc.

Mais sobre as duas culturas

  • Com objetivo preditivo não há nem porque assumir um modelo probabilístico subjacete, nem uma forma geral verdadeira para \(r\).
    • Como encontrar o “melhor” preditor?

A função risco

Critério para medir o desempenho de uma dada função de predição \(g: \mathbb{R}^p \to \mathbb{R}\)

  • \((\mathbf{X}, Y)\) nova observação que não foi usada para se encontrar \(g\)
  • \(L(g; (\mathbf{X}, Y))\) – função perda
    • \(L(g; (\mathbf{X}, Y)) = (Y - g(\mathbf{X}))^2\) – perda quadrática
    • \(L(g; (\mathbf{X}, Y)) = |Y - g(\mathbf{X})|\) – perda absoluta
    • muitas outras…

A função risco

  • Tirando a dependência na observação específica…
    • \(R_{\mathrm{pred}}(g) = \mathbb{E}[L(g; (\mathbf{X}, Y))]\)
    • No caso da perda quadrática (usual em regresão) \[R_{\mathrm{pred}}(g) = \mathbb{E}[(Y - g(\mathbf{X}))^2]\]

A importância da perda quadrática

  • Medir a performance de um estimador com base em seu risco quadrático
  • São equivalentes:
    • Criar uma “boa” função de predição \(g: \mathbb{R}^d \to \mathbb{R}\)
    • Encontrar um “bom” estimador para a função de regressão \(r(\mathbf{x})\)
  • Formalizado no Teorema a seguir

Teorema (Teo. 1, Sec. 1.4 [AME])

Suponha que definimos o risco de uma função de predição \(g: \mathbb{R}^d \to \mathbb{R}\) via perda quadrática: \(R_{\mathrm{pred}}(g) = \mathbb{E}[(Y - g(\mathbf{X}))^2]\), em que \((\mathbf{X}, Y)\) é uma nova observação que não foi usada para estimar \(g\). Suponhamos também que medimos o risco de um estimador da função de regressão via perda quadrática: \(R_{\mathrm{reg}}(g) = \mathbb{E}[(r(\mathbf{X}) - g(\mathbf{X}))^2]\). Então \[R_{\mathrm{pred}}(g) = R_{\mathrm{reg}}(g) + \mathbb{E}[\mathbb{V}[Y | \mathbf{X}]].\]

Teorema (Teo. 1, Sec. 1.4 [AME])

  • O termo \(\mathbb{E}[\mathbb{V}[Y | \mathbf{X}]]\) não depende de \(g\)
  • Estimar bem a função de regressão \(r\) é fundamental, pois a melhor função de predição para \(Y\) é a função de regressão \(r\): \[\mathrm{arg} \min_g R_{\mathrm{pred}}(g) = \mathrm{arg} \min_g R_{\mathrm{reg}}(g) = r(\mathbf{x}).\]

Balanço entre viés e variância

  • Teorema: \[\begin{align*} \mathbb{E}[(Y - &\widehat{g}(\mathbf{X}))^2 | \mathbf{X} = \mathbf{x}] = \\ &\mathbb{V}[Y | \mathbf{X} = \mathbf{x}] + (r(\mathbf{x}) - \mathbb{E}[\widehat{g}(\mathbf{x})])^2 + \mathbb{V}[\widehat{g}(\mathbf{x})] \end{align*}\]

  • Aleatoriedade tomada em \(Y\) e no conjunto utilizado para se estimar \(\widehat{g}\)

  • Notação \(\widehat{g}\) para enfatizar que é uma função dos dados

Balanço entre viés e variância

  • Decomposição em três termos:
    • \(\mathbb{V}[Y | \mathbf{X} = \mathbf{x}]\) variância intrínseca da variável de resposta: parcela irredutível
    • \((r(\mathbf{x}) - \mathbb{E}[\widehat{g}(\mathbf{x})])^2\) quadrado do viés do estimador de \(g\): controlável
    • \(\mathbb{V}[\widehat{g}(\mathbf{x})]\) variância do estimador de \(g\): controlável
  • Usualmente:
    • \(\uparrow\) complexidade do modelo \(\Rightarrow\) \(\downarrow\) viés mas \(\uparrow\) variância
    • \(\downarrow\) complexidade do modelo \(\Rightarrow\) \(\uparrow\) viés mas \(\downarrow\) variância

Um exemplo

Geração de dados

  • \(X \sim \mathcal{U}[0, 2]\)
  • \(f(x) = \sin(\pi x)\)
  • \(Y = f(X) + \varepsilon\)
  • \(\varepsilon \sim \mathcal{N}(0, 1)\)
  • Ajuste polinomial: qual o melhor valor de \(p\)? \[g(x) = \beta_0 + \sum_{n = 1}^{p} \beta_n x^n\]
  • Fonte: Bias-variance trade-off with Python example

Dados gerados segundo o modelo

Ajustes polinomiais

Best fit polynomial degree:  3